package geektime.spring.springbucks.repository;

import geektime.spring.springbucks.model.Coffee;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface CoffeeRepository {
    // @Select("select * from t_coffee")
    List<Coffee> queryAll(Map<String, String> args);

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Coffee queryById(Long id);


    /**
     * 新增数据
     *
     * @param tCoffee 实例对象
     * @return 影响行数
     */
    int insert(Coffee tCoffee);

    /**
     * 修改数据
     *
     * @param tCoffee 实例对象
     * @return 影响行数
     */
    int update(Coffee tCoffee);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    @Delete("delete from bucks.t_coffee where id = #{id}")
    int deleteById(Long id);
}
